export {}
// import { IBFFormTemplateItem } from "@/components/bf-form-parse"
// import { BFTableColumn } from "@/components/bf-table"
// import { config } from "@/config"
// import { reactive } from "vue"

// interface MixinData<T> {
//   currentOpera: string
//   tableColumns: BFTableColumn[]
//   tableData: T[]
//   page: number
//   size: number
//   total: number
//   rowSelectedKeys: string[]
//   template: IBFFormTemplateItem[]
//   modalVisible: boolean
//   modalData: T,
//   filterVisible: boolean,
//   filterModalData: T
// }

// export const useMixinData = <T = any, O = Record<string, any>>(initData: MixinData<T> | {} = {}, otherData?: O) => {
//   return reactive<MixinData<T> & O>({
//     currentOpera: '',
//     tableColumns: [],
//     tableData: [],
//     page: 1,
//     size: config.DEFAULT_PAGE_SIZE,
//     total: 0,
//     rowSelectedKeys: [],
//     template: [],
//     modalVisible: false,
//     modalData: {} as T,
//     filterModalData: {},
//     filterVisible: false,
//     ...initData,
//     ...otherData
//   } as MixinData<T> & O)
// }
